Microsoft Sentinel に Google Cloud の IAM ログを取り込んでみた
はじめに
Microsoft では SIEM・SOAR ソリューションとして、Microsoft Sentinel(以下、Sentinel)が提供されています。AWS だと Amazon GuardDuty に該当するサービスですが、データコネクタと呼ばれる機能により Microsoft が提供するサービス以外のログも取り込める点で違いがあり、今回は Google Cloud の IAM ログを取り込む手順についてまとめます。
なお、DevelopersIO には、AWS の CloudTrail ログや CloudWatch Logs を取り込む方法について解説した記事があります。用途に応じて、こちらも参照ください。
- Microsoft Sentinel に AWS CloudTrail のログを取り込んでみた
- Microsoft Sentinel に Amazon CloudWatch Logs のログを取り込んでみた
前提
Microsoft が公開している手順は以下です。 ドキュメントの内容だけでは解釈が難しい箇所や Google Cloud 側での作業も必要なため、たっぷりのスクリーンショットで解説します。
Microsoft Sentinel 用 Google Cloud Platform IAM (Azure Functions を使用) コネクタ
なお、今回の方法では、Azure 側で Azure Functions を、Google Cloud 側でサービスアカウントをそれぞれ使用します。そのため、以下権限についても準備をお願いします。
Microsoft.Web/sites のアクセス許可
:Azure Functions に対する読み取り・書き込み許可GCP サービス アカウント
:Cloud Logging API に対する読み取り許可
手順
1. コネクタのインストール
- Sentinel からログを取り込むログアナリティクスワークスペースを選択
- 「コンテンツハブ」を選択
- 検索窓から
google cloud
と検索 - コネクタ:「Google Cloud Platform IAM」を選択 ※類似した「Google Cloud Platform Audit Logs」ではないため注意
- 「インストール」をクリック(終わったら「管理」もクリック)
2. コネクタの設定
- データコネクタ:「Google Cloud Platform IAM (using Azure Functions)」にチェック
- 右サイドバーから「コネクタページを開く」をクリック
なお、この時点ではデータ取り込みができていないため、status が「Disconnected」、Log Analytics テーブル:「GCP_IAM_CL」も 0
になっていることが確認できます。
3. Google Cloud との連携
ドキュメントの以下内容にしたがって、Google Cloud 側との連携を行います。
「STEP 1 - Configuring GCP and obtaining credentials」
- Make sure that Logging API is enabled.
- (Optional) Enable Data Access Audit logs.
- Create service account with required permissions and get service account key json file.
- Prepare the list of GCP resources (organizations, folders, projects) to get logs from.
なお、Google Cloud との連携は本記事の趣旨から逸れるため、後述します。
4. Azure Functions をデプロイ
ドキュメントの以下内容にしたがって、Azure Functions をデプロイします。
STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function
- 「Workspace ID」をひかえる
- 「Primary Key」をひかえる
- 「Deploy to Azure」ボタンをクリック
- 各パラメータを指定しデプロイ
- デプロイ完了後に App Service へ移動
- Azure Functions のメトリクスから処理が成功していることを確認
- コンテンツハブから Google Cloud のデータ取り込みが成功していることを確認 ※デプロイから 2,30 分かかります
5. 分析ルールのテスト
分析ルール「GCP IAM - New Service Account」を作成します(取り込み後作成できるようになります) 。
その後、Google Cloud でサービスアカウントを作成するとアラートが発生しました!
【補足】Google Cloud との連携
本手順は、3. Google Cloud との連携 の内容をまとめたものです。公式ドキュメントはこちらです。
(Google Cloud コンソールの操作はダークモードのブラウザで操作します)
- Gooogle Cloud コンソールへログインし、使用するプロジェクトを選択
- Google Cloud API ライブラリページ から
logging
を検索し、Cloud Logging API を有効化 - 「認証情報を作成」をクリック、「Cloud Logging API(デフォルトで設定済み)」「アプリケーション データ」を設定し、次へ
- サービスアカウントの詳細を設定
- ① サービス アカウントの詳細
「サービス アカウント名」と「サービス アカウントの説明」を入力し、次へ - ② このサービス アカウントにプロジェクトへのアクセスを許可する
「ロール」はログの読み取り権限を付与(今回は「ログ閲覧者」)し、次へ - ③ ユーザーにこのサービス アカウントへのアクセスを許可
本項は必要に応じて指定し、完了
- ① サービス アカウントの詳細
- サービスアカウントキーを作成
- サービスアカウントのメールアドレスをクリック
- 「キー」タブから「鍵を追加」 -> 「新しい鍵を作成」をクリック
※キーのタイプはJSON
を指定 - 秘密鍵がダウンロードされるので、Azure Functions の デプロイ時 に使用
まとめ
今回は、Google Cloud の IAM ログを Microsoft Sentinel に取り込む方法について解説しました。
本手順は、IAM ログに限らず、DNS ログなどその他 Google Cloud 関連のログ取り込みに応用できますので、参考にいただけると幸いです。
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。